package com.zbkj.crmeb.wechat.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class UrlLinkRequest implements Serializable {

    @ApiModelProperty(value = "通过 URL Link 进入的小程序页面路径，必须是已经发布的小程序存在的页面，不可携带 query 。path 为空时会跳转小程序主页")
    private String path;

    @ApiModelProperty(value = "通过 URL Link 进入小程序时的query，最大1024个字符，只支持数字，大小写英文以及部分特殊字符：!#$&'()*+,/:;=?@-._~%")
    private String query;

    @ApiModelProperty(value = "要打开的小程序版本。正式版为 \"release\"，体验版为\"trial\"，开发版为\"develop\"，仅在微信外打开时生效。 默认 release")
    private String envVersion;

    @ApiModelProperty(value = "小程序 URL Link 失效类型，失效时间：0，失效间隔天数：1")
    @NotNull(message = "失效类型不能为空")
    private Integer expireType;

    @ApiModelProperty(value = "到期失效的 URL Link 的失效时间，为 Unix 时间戳。生成的到期失效 URL Link 在该时间前有效。最长有效期为30天。expire_type 为 0 必填")
    private Integer expireTime;

    @ApiModelProperty(value = "到期失效的URL Link的失效间隔天数。生成的到期失效URL Link在该间隔时间到达前有效。最长间隔天数为30天。expire_type 为 1 必填")
    private Integer expireInterval;

}